package com.xbongbong.sys.model;

import com.xbongbong.sys.domain.entity.UserConfigEntity;

import java.util.List;
import java.util.Map;

/**
 * @author: wufeng
 * @date: 2018/8/30 9:41
 * @desrcption:
 */
public interface UserConfigModel {
    /**
     * 插入实体
     *
     * @param entity 实体
     *
     * @return Integer MyBatis操作结果 1：成功
     */
    Integer insert(UserConfigEntity entity);

    /**
     * 批量插入实体
     *
     * @param userConfigList 实体
     *
     */
    void insertBatch(List<UserConfigEntity> userConfigList);
    /**
     * 更新实体
     *
     * @param entity 实体
     *
     * @return Integer MyBatis操作结果 1：成功
     */
    Integer update(UserConfigEntity entity);
    /**
     * 批量更新实体
     *
     * @param userConfigList 实体
     *
     * @return Integer MyBatis操作结果 1：成功
     */
    void updateBatch(List<UserConfigEntity> userConfigList, String corpid);
    /**
     * 查询实体
     * @param key id
     * @param corpid 公司id
     * @return
     */
    UserConfigEntity getByKey(Long key, String corpid);

    /**
     * 根据用户id和配置名称查询实体
     * @param userId 用户id
     * @param corpid 公司id
     * @param configAlias 配置
     * @return UserConfigEntity
     */
    UserConfigEntity getByUserId(String userId, String corpid, String configAlias);

    /**
     * 检索列表
     * @param params
     * @return UserConfigEntity
     */
    List<UserConfigEntity> list(Map<String, Object> params);

    void save(String corpid, String userId, String alias, String name, String lang);

    /**
     * 获取用户配置表中的最大id
     *
     * @param param
     * @return
     */
    Long getMaxId(Map<String, Object> param);

    /**
     * 批量更新用户配置表的信息
     *
     * @param updateList
     * @return
     */
    int updateBatchAll(List<UserConfigEntity> updateList);
}
